#!/usr/bin/env python3
"""
分布式缓存系统测试脚本
"""

import requests
import json
import time

def test_cache_system():
    """测试分布式缓存系统的基本功能"""
    
    # 节点地址
    nodes = [
        "http://127.0.0.1:9527",
        "http://127.0.0.1:9528", 
        "http://127.0.0.1:9529"
    ]
    
    print("🧪 开始测试分布式缓存系统...\n")
    
    # 测试1: 通过节点0写入数据
    print("1️⃣ 通过节点0写入数据...")
    response = requests.post(nodes[0], json={"name": "Alice"})
    print(f"   响应: {response.json()}")
    
    # 测试2: 通过节点1读取数据（应该能获取到）
    print("\n2️⃣ 通过节点1读取数据...")
    response = requests.get(f"{nodes[1]}/name")
    print(f"   响应: {response.json()}")
    
    # 测试3: 通过节点2写入另一个数据
    print("\n3️⃣ 通过节点2写入另一个数据...")
    response = requests.post(nodes[2], json={"age": 25})
    print(f"   响应: {response.json()}")
    
    # 测试4: 通过节点0读取第二个数据
    print("\n4️⃣ 通过节点0读取第二个数据...")
    response = requests.get(f"{nodes[0]}/age")
    print(f"   响应: {response.json()}")
    
    # 测试5: 删除数据
    print("\n5️⃣ 删除数据...")
    response = requests.delete(f"{nodes[1]}/name")
    print(f"   删除数量: {response.json()}")
    
    # 测试6: 验证数据已删除
    print("\n6️⃣ 验证数据已删除...")
    response = requests.get(f"{nodes[2]}/name")
    print(f"   状态码: {response.status_code} (404表示已删除)")
    
    print("\n✅ 测试完成！")

if __name__ == "__main__":
    try:
        test_cache_system()
    except requests.exceptions.ConnectionError:
        print("❌ 无法连接到缓存服务器，请先运行 ./start.sh 启动服务")
    except Exception as e:
        print(f"❌ 测试出错: {e}")
